﻿using System;
using Onshi.POS.Modelo.Enumeradores;
using Onshi.POS.Modelo.Entidades;
using Onshi.POS.Repositorios;
using Onshi.POS.Vendedores.Vistas;

namespace Onshi.POS.Vendedores
{
    public class DevolverVendedoresPorCodigoPresentador
    {
        #region Constructores

        public DevolverVendedoresPorCodigoPresentador(IDevolverVendedoresPorCodigo vista)
        {
            this.vista = vista;
        }

        #endregion

        #region Atributos

        private IDevolverVendedoresPorCodigo vista;

        #endregion

        #region Propiedades

        private RepositorioVendedor RepositorioVendedor
        {
            get { return new RepositorioVendedor(); }
        }

        #endregion

        #region Metodos

        private void ActualizarCampos(Vendedor vendedor)
        {
            vista.IdVendedor = vendedor.Id;
            vista.Codigo = vendedor.Codigo;
            vista.Nombre = vendedor.Nombre;
        }

        private void LimpiarCampos()
        {
            vista.IdVendedor = (Int32)EnumVendedor.TODOS;
            vista.Nombre = String.Empty;
        }

        public void BuscarPorCodigo()
        {
            var vendedor = RepositorioVendedor.DevolverPorCodigo(vista.Codigo);
            if (vendedor != null)
                ActualizarCampos(vendedor);
            else
                LimpiarCampos();
        }

        public void BuscarPorId()
        {
            var vendedor = RepositorioVendedor.DevolverPorId(vista.IdVendedor);
            if (vendedor != null)
                ActualizarCampos(vendedor);
            else
                LimpiarCampos();
        }

        #endregion
    }
}
